<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of robro_modelo
 *
 * @author jose
 */
class Asignar_rubro_modelo extends CI_Model {

    //put your code here
    public function guardar($data) {
        $this->db->insert("asigna_rubro", $data);
    }
    public function editar($parameters, $ide_asigna) {
        $this->db->where("ide_asigna", $ide_asigna);
        $this->db->update("asigna_rubro", $parameters);
    }

    public function listar($ide_rubro, $id_periodo, $id_carrera, $id_ciclo, $seccion, $paralelo) {
        $query = " select asigna_rubro.ide_asigna, asigna_rubro.ide_matr 
            from asigna_rubro 
            inner join cursa on cursa.matriculas_id_matr = asigna_rubro.ide_matr 
            where asigna_rubro.ide_rubro =".$ide_rubro." 
            and cursa.periodos_lectivos_ide_lec=".$id_periodo." 
            and cursa.ide_car=".$id_carrera." 
            and cursa.ide_cic=".$id_ciclo." 
            and cursa.seccion=".$seccion." 
            and cursa.paralelo='".$paralelo."' 
            and cursa.estado_cur=0  
            group by asigna_rubro.ide_asigna";
        $Q = $this->db->query($query);
        return $Q->result_array();
    }
    public function listarRubroEstudiante($ide_matricula, $id_periodo){
        $query="select asigna_rubro.*, rubro.nombre_rubro, rubro.costo_rubro  
            from asigna_rubro 
            inner join rubro on rubro.ide_rubro = asigna_rubro.ide_rubro 
            where 
            asigna_rubro.ide_matr = ".$ide_matricula."
            and asigna_rubro.ide_lec=".$id_periodo;
        $Q = $this->db->query($query);
        return $Q->result_array();
    }
    public function getAsignaRubro($ide_asigna){
        $query="select asigna_rubro.*, rubro.nombre_rubro, rubro.costo_rubro  
            from asigna_rubro 
            inner join rubro on rubro.ide_rubro = asigna_rubro.ide_rubro 
            where             
            asigna_rubro.ide_asigna=".$ide_asigna;
        $Q = $this->db->query($query);
        return $Q->result_array();
    }
    /**
     * Obtiene un estudiante que tenga un rubro
     * @param type $ide_matricula identificador de la matricula
     * @param type $id_periodo identificador del periodo
     * @param type $id_rubro identificador del rubro
     * @return type lista de rubors por estudiante
     */
    public function obtenerRubroEstudianteMatricula($ide_matricula, $id_periodo, $id_rubro){
        $query="select asigna_rubro.*, rubro.nombre_rubro, rubro.costo_rubro  
            from asigna_rubro 
            inner join rubro on rubro.ide_rubro = asigna_rubro.ide_rubro 
            where 
            asigna_rubro.ide_matr = ".$ide_matricula."
             and asigna_rubro.ide_lec = ".$id_periodo."
             and asigna_rubro.ide_rubro=".$id_rubro;
        $Q = $this->db->query($query);
        return $Q->result_array();
    }
    public function eliminar_asignacion_rubro($id_asigna){
        $this->db->where('ide_asigna', $id_asigna);
        $this->db->delete("asigna_rubro"); 
    }
        function getInscritosRubroSemestre($ide_rubro, $id_periodo) { //patricio 26 -01

        $this->db->select('persona.cedula_pers,persona.apellido_pers,persona.nombre_pers
            ,rubro.costo_rubro, asigna_rubro.estado_asigna,matriculas.id_matr');
        $this->db->distinct();
        $this->db->from('persona');
        $this->db->join('estudiante', 'persona.ide_pers = estudiante.persona_ide_pers', 'inner');
        $this->db->join('matriculas', 'estudiante.ide_est = matriculas.estudiante_ide_est', 'inner');
        $this->db->join('asigna_rubro', 'matriculas.id_matr = asigna_rubro.ide_matr', 'inner');
        $this->db->join('rubro', 'asigna_rubro.ide_rubro = rubro.ide_rubro', 'inner');
        $this->db->where('asigna_rubro.ide_lec ', $id_periodo);
        $this->db->where('asigna_rubro.ide_rubro ', $ide_rubro);

        $this->db->where('matriculas.eliminado', 0);
        $this->db->order_by('persona.apellido_pers');
        $query = $this->db->get();
        if ($query->num_rows() > 0) {
            foreach ($query->result_array() as $row) {
                $data[] = $row; //$row;
            }
            $query->free_result();
            return $data;
        } else {
            return null;
        }
    }
    //listado de rubros
    public function getListaAsignaRubroMatricula($ide_matricula,$estado){
        $query="select asigna_rubro.*, rubro.nombre_rubro, rubro.costo_rubro  
            from asigna_rubro 
            inner join rubro on rubro.ide_rubro = asigna_rubro.ide_rubro 
            where             
            asigna_rubro.ide_matr=".$ide_matricula.' and estado_asigna='.$estado;
        $Q = $this->db->query($query);
        return $Q->result_array();
    }
    public function getListaAsignaRubroRubro($ide_matricula,$estado,$id_rubro){
        $query="select asigna_rubro.*, rubro.nombre_rubro, rubro.costo_rubro  
            from asigna_rubro 
            inner join rubro on rubro.ide_rubro = asigna_rubro.ide_rubro 
            where             
            asigna_rubro.ide_matr=".$ide_matricula.' and estado_asigna='.$estado." and asigna_rubro.ide_rubro = ".$id_rubro;
        //echo $query.'xxx</br>';
        $Q = $this->db->query($query);
        return $Q->result_array();
    }
    public function listarPorRubro($id_rubro="",$estado=true,$condicion=""){
        $query="select distinct persona.cedula_pers,persona.apellido_pers,persona.nombre_pers
            ,rubro.costo_rubro, asigna_rubro.estado_asigna,matriculas.id_matr, asigna_rubro.ide_asigna 
            from persona 
            inner join estudiante on persona.ide_pers = estudiante.persona_ide_pers 
            inner join matriculas on estudiante.ide_est = matriculas.estudiante_ide_est  
            inner join asigna_rubro on matriculas.id_matr = asigna_rubro.ide_matr 
            inner join rubro on asigna_rubro.ide_rubro = rubro.ide_rubro 
            where matriculas.eliminado = 0 and  
            asigna_rubro.estado_asigna =".$estado." ".$id_rubro;
        if($condicion!=''){
            $query.=$condicion;
        }            
        $query.=" order by persona.apellido_pers";      
        //echo $query;
        $Q = $this->db->query($query);
        return $Q->result_array();
        //return array();
    }
}

?>
